package com.alks.function.service.pcfactoryquery;

import com.alks.entity.data.entity.PcStitchDetail;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.factoryquery.StitchHeadRequest;
import com.alks.function.data.request.factoryquery.StitchStockRequest;
import com.alks.function.data.vo.biocontrol.deptwork.ReportStitchDailyVO;
import com.alks.function.data.vo.pcfactoryWork.DailyExportVo;
import com.alks.function.data.vo.stock.StitchStkFlowVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ms
 * @since 2023-08-17
 */
public interface IPcStitchDetailService extends IService<PcStitchDetail> {
    ResponseInfo queryStitchStockHead(StitchStockRequest request);

    ResponseInfo queryStitchStockDetail(String lotNo);

    ResponseInfo queryStitchDeptHead(StitchHeadRequest lotNo);

    ResponseInfo queryStitchDeptDetail(String deptName, String slipType);

    /**
     * 鞋面导出数据查询
     * @param request 查询条件
     * @return 导出数据
     */
    List<DailyExportVo> dailyExportDateQuery(StitchHeadRequest request);

    /**
     * 库存账目导出查询
     */
    void stitchStkExportQuery(StitchHeadRequest request, HttpServletResponse response);

    ResponseInfo updateStitchStatus();

    /**
     * 缴库部门名称回显
     */
    ResponseInfo deptNameBack(@Param("search") String search);

    /**
     * 收发料报表导出
     * @param request 查询条件
     * @return 导出数据
     */
    List<StitchStkFlowVo> stitchStkFlowExport(StitchHeadRequest request);

    /*冻结指令(鞋面不能入库)*/
    ResponseInfo frozenStitch(List<String> lotNoList);

    /*取消冻结指令*/
    ResponseInfo cancelFrozenStitch(List<String> lotNoList);
}
